██████╗ ███████╗████████╗██╗██████╗ ███████╗██████╗ ██╗ █████╗
██╔══██╗██╔════╝╚══██╔══╝██║██╔══██╗██╔════╝██╔══██╗██║██╔══██╗
██████╔╝█████╗ ██║ ██║██████╔╝█████╗ ██║ ██║██║███████║
██╔══██╗██╔══╝ ██║ ██║██╔═══╝ ██╔══╝ ██║ ██║██║██╔══██║
██║ ██║███████╗ ██║ ██║██║ ███████╗██████╔╝██║██║ ██║
╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝╚═╝ ╚══════╝╚═════╝ ╚═╝╚═╝ ╚═╝
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Lisp
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
mwbqLisp (mwbgmwbwList mwcaProcessor) è una famiglia di mwcqlinguaggi di programmazione con implementazioni sia mwcgcompilate sia mwcwinterpretate, associata nel passato ai progetti di mwdaintelligenza artificiale. È stato ideato nel mwdq1958 da mwdgJohn McCarthycite-ref-mccarthy-1-0[1] come mwewlinguaggio formale per studiare la computabilità di mwfafunzioni ricorsive (nel senso di mwfqSkolem) su espressioni simboliche. È stato anche il primo linguaggio a facilitare uno stile di mwfgprogrammazione funzionale.
Contents
• Note
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Descrizione
Il primo mwggsoftware libero con un nucleo LISP è stato mwgwemacs, diffuso mwhaeditor di testo per terminale progettato negli anni ottanta da mwhqRichard Stallman sulle mwhgLISP machine dell'epoca e portato successivamente su tutti i mwhwsistemi operativi. Commercialmente, la diffusione più rilevante del linguaggio è avvenuta con la sua integrazione in programmi di uso comune, come nel mwiaCAD mwiqAutoCAD (mwigAutodesk) o come nell'azienda editrice mwiwInterleaf, che utilizza una versione personalizzata di Lisp e strettamente integrata con le funzioni di programmazione dell'ambiente grafico.
La mwjqSymbolics Technology Inc. ha realizzato negli anni ottanta delle mwjgworkstation e server con sistema operativo mwjwmultitasking e mwkaorientato agli oggetti con una potentissima mwkqinterfaccia grafica di programmazione simbolica, interamente programmato in LISP, compreso il mwkwmicrocodice del processore LISP.
Complessi software LISP restano ancora in servizio presso enti governativi, militari, aerospaziali, compagnie aeree, compagnie petrolifere, ecc. per complessi giochi di simulazione e valutazione di strategie operative.
Data la grande versatilità del linguaggio e quindi la facilità di estensione e personalizzazione da parte del programmatore, sono fioriti molti dialetti di LISP, tra cui, il più diffuso, e quello a cui solitamente ci si riferisce parlando di LISP, è mwnwCommon LISP. Altri sono mwoaScheme e mwoqArc.
Programma di esempio
Gli esempi qui riportati sono scritti in Common LISP
(format t "Hello, World!")
(princ "Hello, World!")
(print "Hello, World!")
(write "Hello, World!")
Es: con Cmucl lisp GPL interprete e compilatore di codice macchina e/o mwvgbytecode provate a digitare:
* (format t "~&Hello, world!~%")
Hello, world!
NIL
*
Per compilare quanto sopra scrivere in un file di testo dal nome "test.lisp" quanto segue:
(defun miotest ()
(format t "~&Hello, world!~%"))
Lanciate Cmucl e da linea comandi del lisp interprete digitare:
# lisp
....
* (compile-file "..../test.lisp")
Il comando trasforma e compila il file in test.x86 (codice macchina X86), quindi basta digitare:
* (require:test)
* (miotest)
Hello, world!
NIL
*
...
Dialetti del LISP
Note
cite-note-mccarthy-11. ↑ mwcwJohn McCarthy, mwdamwdqRecursive Functions of Symbolic Expressions and Their Computation by Machine, Part I, su mwdgwww-formal.stanford.edu. mwdwURL consultato il 13 ottobre 2006 mwea(archiviato dall'mwequrl originale il 4 ottobre 2013).
Bibliografia
• D. Touretzky, mwfqmwfgCommon Lisp - Un'introduzione graduale all'elaborazione simbolica, Zanichelli, ISBN 88-08-12248-4
• mwgqLISP: l'intelligenza artificiale, in Micro & Personal Computer, n. 4, Roma, Gruppo Editoriale Suono, aprile 1980, pp. 72-77, OCLC 859585120.
• mwgwLISP: l'intelligenza artificiale - Seconda parte: le applicazioni, in Micro & Personal Computer, n. 5, Roma, Gruppo Editoriale Suono, maggio/giugno 1980, pp. 58-62, OCLC 859585120.
• mwhqKen Tractor, Introduzione al LISP - Elementi fondamentali di programmazione, Franco Muzzio & c., 1984, ISBN 88-7021-256-4.
Voci correlate
• mwiqCar e cdr
• mwiwCons
• mwjqCommon LISP
• mwjwSteel Bank Common Lisp
• mwkqLisp Toolkit
• Categoria:Software in Lisp
Altri progetti
Altri progetti
• Wikibooks
• Wikimedia Commons
• Wikibooks contiene testi o manuali su Lisp
• Wikimedia Commons contiene immagini o altri file su Lisp
Collegamenti esterni
• citereftreccani-itLISP, su Treccani.it – Enciclopedie on line, Istituto dell'Enciclopedia Italiana.
• citerefdizionario-delle-scienze-fisicheLISP, in Dizionario delle scienze fisiche, Istituto dell'Enciclopedia Italiana, 1996.
• citerefsapere-itLISP, su sapere.it, De Agostini.
• citerefenciclopedia-della-matematicaLISP, in Enciclopedia della Matematica, Istituto dell'Enciclopedia Italiana, 2013.
• citerefbritannica-com(EN) David Hemmendinger, LISP, su Enciclopedia Britannica, Encyclopædia Britannica, Inc.
• citerefopen-library(EN) Opere riguardanti Lisp, su Open Library, Internet Archive.
• citerefspringereom(EN) Lisp, su Encyclopaedia of Mathematics, Springer e European Mathematical Society.
• citereffoldoc(EN) Denis Howe, Lisp, in Free On-line Dictionary of Computing. Disponibile con licenza mwmgGFDL
• mwnaItalian Lisp User Group, su lisp.it.
• mwng"Il Mio Lisp", libro italiano sul linguaggio Lisp utilizzato nei software CAD, su redchar.net.
• mwoa"Common Lisp e Tools + manuali con distribuzione Knoppix pronta per l'uso" (ISO), su lispnyc.org.